import { Mycloud,hideName } from '../../public'; 
var plugin = requirePlugin("myPlugin");
Page({
  Mycloud,
  data: {
    expend:false,
    expendT:false,
    taskData: {},
    bili:"",
    // 转盘位置数组
    // looteryViewArr:[0,1,2,5,8,7,6,3],
    canRun:true,//改回""
    canlottery:true,
    userInfoList:"",//用户信息
    isFinshShopAtten:"",//是否已经完成关注
        // 转盘
    turntable: {
      url: 'https://img.alicdn.com/imgextra/i3/4161056916/O1CN01se5eoN20xZra1gBYo_!!4161056916.png',
      width: 583,
      height: 583,
    },
    // 按钮
    turntableBtn: {
      url: 'https://img.alicdn.com/imgextra/i3/4161056916/O1CN01EfenuC20xZrjTTC9q_!!4161056916.png',
      width: 183,
      height: 183,
      left: 203,
      top: 197,
    },
    // 奖品信息
// 奖品信息
prizeInfo: [
  {
    angle: 335, // 奖品对应的角度
    prize: '肖战限定立牌' 
  },
  {
    angle: 290,
    prize: '果粒总萌趣抱枕'
  },
  {
    angle: 110,
    prize: '肖战限定海报'
  },
  {
    angle: 245,
    prize: '99-10优惠券'
  },
  {
    angle: 65,
    prize: '259-20优惠券'
  },
  {
    angle: 20,
    prize: '谢谢参与'
  },
  {
    angle: 155,
    prize: '新品免费尝'
  },
  {
    angle: 203,
    prize: '谢谢参与'
  },
],
    prizeIndex: null, // 奖品下标
    lotteryCount: 1, // 抽奖次数
    lotteryCountTaskList:"",
    showPop:false,
    isFinshShopMen:false,
    isFinshwatchVideo:false,
    noFinshPickTaskPop:false,
    shareLogId:"",
    worksList:"",
    drawNum:0,
    noLottlyCountPop:false,
    NoPrizePop:false,
    levelTIsMemPop:false,
    levelFIsMemPop:false,
    xiaozhanlimitersPop:false,
    boardPop:false,
    newProductPop:false,
    drawItemId:"",
    drawList:"",
    levelFNoMemPop:false,
    levelTNoMemPop:false,
    imageUrl:""
  },

  async deawList(){
         let res = await Mycloud('client',{},'lastestDrawLogList');
         if(res.code==0){
          for(let i in res.data){
           res.data[i].userNick= hideName(res.data[i].userNick)
          }
           this.setData({
             drawList:res.data
           })
         }
  },



  // 测试抽奖
  async go(){
    let arr = []
    for(let i = 0;i<1000;i++){
      let res = await Mycloud('client',{},'draw');
      arr.push(res)
    }
    console.log(arr)
  },


    // 转盘滚动
  async onStart() { 
    // if(this.data.userInfoList.drawNum<=0){
    //   // 没有抽奖次数了
    //   this.setData({
    //     noLottlyCountPop:true,
    //     showPop:true
    //   })
    // }else{
      let res = await Mycloud('client',{},'draw');
      console.log("抽奖结果",res)
      if(res.code==0){
        // 中奖
        if(res.data.type==2){
          // 优惠券
          switch (res.data.type==2) {
            case res.data.level==1:
              // 149-29优惠券   先按是会员来展示弹窗
            this.setData({
                prizeIndex:3
              },()=>{
                let result =  Mycloud('client',{},'isTaobaoMember').then((myres)=>{
                  console.log("查询会员",myres)
                    if(myres.code==0){
                      if(myres.data){
                        // 是会员了
                        let memres =  Mycloud('client',{},'sendBenefitIfIsMember').then((memres)=>{
                          console.log("发放优惠券",memres)
                          if(memres.code==0){
                              //  发放优惠券成功
                              setTimeout(()=>{
                                this.setData({
                                  levelFIsMemPop:true,
                                  showPop:true
                                })
                              },5400)
                          }else{
                            my.showToast({content:"网络错误，请刷新重试~"})
                          }
                        })
                      }else{
                        setTimeout(()=>{
                          this.setData({
                            levelFNoMemPop:true,
                            showPop:true
                          })
                        },5400)
                      }
                    }
                })

              })
              break;
            case res.data.level==2:
              // 259-20优惠券   先按是会员来展示弹窗
              this.setData({
                prizeIndex:4
              },()=>{
                 let result =  Mycloud('client',{},'isTaobaoMember').then((myres)=>{
                   console.log("查询会员",myres)
                   if(myres.code==0){
                      if(myres.data){
                        let memres =  Mycloud('client',{},'sendBenefitIfIsMember').then((memres)=>{
                          console.log("发放优惠券",memres)
                          if(memres.code==0){
                           //  发放优惠券成功
                           setTimeout(()=>{
                             this.setData({
                               levelTIsMemPop:true,
                               showPop:true
                             })
                           },5400)
                          }else{
                              my.showToast({content:"网络错误，请刷新重试~"})
                          }
                        })
                      }else{
                         setTimeout(()=>{
                           this.setData({
                             levelTNoMemPop:true,
                             showPop:true
                           })
                         },5400)
                      }
                   }
                 })
              })
              break;
          }
        }else{
          // 实物奖
          switch (res.data.type==1) {
            case res.data.level==3:
              // 肖战限定海报
              this.setData({
                prizeIndex:2,
                drawItemId:res.data._id
              },()=>{
                setTimeout(()=>{
                  this.setData({
                    xiaozhanlimitersPop:true,
                    showPop:true
                  })
                },5400)
              })
              break;
            case res.data.level==4:
              // 果粒总萌趣抱枕
               this.setData({
                prizeIndex:1,
                drawItemId:res.data._id
              },()=>{
                setTimeout(()=>{
                  this.setData({
                    bolsterPop:true,
                    showPop:true
                  })
                },5400)
              })
              break;
            case res.data.level==5:
              // 肖战限定立牌
               this.setData({
                prizeIndex:0,
                drawItemId:res.data._id
              },()=>{
                setTimeout(()=>{
                  this.setData({
                    boardPop:true,
                    showPop:true
                  })
                },5400)
              })
              break;
            case res.data.level==6:
              // 肖战限定立牌
               this.setData({
                prizeIndex:6,
                drawItemId:res.data._id
              },()=>{
                setTimeout(()=>{
                  this.setData({
                    newProductPop:true,
                    showPop:true
                  })
                },5400)
              })
              break;
          }
        }
      }else if(res.code==-1){
        // 没有抽奖机会
        this.setData({
          noLottlyCountPop:true,
          showPop:true,
        })
      }else if(res.code==-22){
        // 没有中奖   这里也记得传下标让转盘转
       
       if(Math.floor(Math.random()*2)+1==2){
         
                 this.setData({
                   prizeIndex:5,
                 },()=>{
                   setTimeout(()=>{
                     this.setData({
                       NoPrizePop:true,
                       showPop:true,
                     })
                   },5400)
                 })
       }else{
                this.setData({
                   prizeIndex:7,
                 },()=>{
                   setTimeout(()=>{
                     this.setData({
                       NoPrizePop:true,
                       showPop:true,
                     })
                   },5400)
                 })
       }


      }
    // }
    // 查询个人信息
    this.getUserInfoc()
      // this.setData({ prizeIndex: 1, lotteryCount: this.data.lotteryCount - 1 });
  },
  onFinish(prizeInfo) {
    console.log(prizeInfo);
    try{
      if(prizeInfo.count<=0){
        this.setData({
          noLottlyCountPop:true,
          showPop:true,
        })
      }
    }catch(e){}
    this.setData({ prizeIndex: null })
  },
  // 关闭没有抽奖次数弹窗
  closeNoLottlyCountPop(){
      this.setData({
        noLottlyCountPop:false,
        showPop:false
      })
  },

  myprize(){
     Mycloud('client', {}, 'myPrizeList').then((res)=>{
      if(res.code==0){
        my.alert({content:JSON.stringify(res.data)})
      }
     })
  },
  // 关闭不是会员抽中99-5优惠券弹窗
  closelevelFNoMemPop(){
    this.setData({
      levelFNoMemPop:false,
      showPop:false
    })
  },
  // 关闭不是会员抽中199-25优惠券弹窗
  closelevelTNoMemPop(){
    this.setData({
      levelTNoMemPop:false,
      showPop:false
    })
  },

// 关闭加入会员领取优惠券的弹窗
closeaddMenGetTPrize(){
  this.setData({
    addMenGetFPrize:false,
    addMenGetTPrize:false,
    showPop:false
  })
},


  // 加入会员领取优惠券
  handleAddMen(e){
    var memberPlugin = requirePlugin("cemMember");
    let _this = this
    memberPlugin.checkMember({
      //sellerId为可选参数，不填则为当前小程序Owner用户ID
      sellerId:2210308601889,
      success(v) {
        if(v.data.isMember=="true" || v.data.isMember==true){
          // 这里已经是会员了  调用小程序接口  用小程序接口返回的结果做按钮切换
          const options = {
            type:"joinMember"
          }
          Mycloud('client',options,'finishTask').then((res)=>{
            console.log('',res)
            if(res.code==0){
              _this.setData({
                 [`lotteryCountTaskList[1].isFinish`]:true,
              },()=>{
                 Mycloud('client',{},'sendBenefitIfIsMember').then((result)=>{
                    if(result.code==0){
                      // 发奖成功
                      if(e.target.dataset.type=="first"){
                        _this.setData({
                          addMenGetFPrize: true,
                          levelFNoMemPop:false,
                          showPop:true
                        })
                      }else{
                          _this.setData({
                            addMenGetTPrize: true,
                            levelTNoMemPop:false,
                            showPop:true
                          })
                      }
                    }else{
                       my.showToast({content:"网络错误，请刷新重试~"})
                    }
                 })
              })
            }else{
              my.showToast({content:"网络错误，请刷新重试~"})
            }
          });
          // my.showToast({content:"以前入过会了，调接口吧"})
        }else{
          _this.getPrizeToAddMem(e.target.dataset.type)
        } 
      },
      fail(v) {
          // my.showToast({content:JSON.stringify(v)})
        // my.alert({
        //   title: "会员检查失败",
        //   content: JSON.stringify(v),
        // })          
      }      
    });
  },


  // 立即领取  填写地址
  getPrize(e){
    my.authorize({
    scopes: 'scope.addressList',
    success: (res) => {
        my.tb.chooseAddress({
        addAddress: "show",
        searchAddress: "show",
        locateAddress: "show"
      }, (res) => {
        let options = {
          consignee:res.name,
          telephone:res.telNumber,
          address:res.provinceName+res.cityName+res.countyName+res.streetName+res.detailInfo
        }
          Mycloud('client', {_id:this.data.drawItemId,address:options}, 'setAddress').then((res)=>{
            console.log(res)
           if(res.code==0){
             if(e.target.dataset.new=="new"){
              this.setData({
                getnewPrizeSuccess:true,
                showPop:true,
                xiaozhanlimitersPop:false,
                bolsterPop:false,
                boardPop:false,
                newProductPop:false
              })
             }else{
               this.setData({
                getPrizeSuccess:true,
                showPop:true,
                xiaozhanlimitersPop:false,
                bolsterPop:false,
                boardPop:false,
                newProductPop:false
               })
             }
           }else{
             // my.showToast({content:"网络错误，请重试"});
           }
          })


        // my.alert({ content: "success - " + JSON.stringify(res) })
        // my.alert({ content: "地址："+res.provinceName+res.cityName+res.countyName+res.streetName+res.detailInfo })
        // telNumber 手机号  name  姓名
        
      }, (res) => {
        // my.alert({ content: "fail - " + JSON.stringify(res)})
      })
     },
    });


  },
// 关闭领取成功弹窗
closegetPrizeSuccess(){
  this.setData({
    getPrizeSuccess:false,
    getnewPrizeSuccess:false,
    showPop:false
  })
},


  // 关闭实物奖弹窗
  closeRelaPop(e){
    switch (true) {
      case e.target.dataset.name=="xiaozhanlimitersPop":
          this.setData({
            showPop:false,
            xiaozhanlimitersPop:false
          })
        break;
    
      case e.target.dataset.name=="bolsterPop":
          this.setData({
            showPop:false,
            bolsterPop:false
          })
        break;
      case e.target.dataset.name=="boardPop":
          this.setData({
            showPop:false,
            boardPop:false
          })
        break;
      case e.target.dataset.name=="newProductPop":
          this.setData({
            showPop:false,
            newProductPop:false
          })
        break;
    }
  },


  // 获取用户信息
  async getUserInfoc(){
     let res = await Mycloud('client',{},'getUserInfo');
     console.log("个人信息",res)
     if(res.code==0){
       
        this.setData({
          userInfoList:res.data
        })
     }else{
       my.showToast({
         content:"网络错误，请重试"
       });
     }
     console.log(res)
     
  },

  // 关闭未中奖弹窗
  closeNoPrizePop(){
    this.setData({
      NoPrizePop:false,
      showPop:false
    })
  },

  // 关闭一等奖优惠券弹窗
  closelevelFIsMemPop(){
    this.setData({
      showPop:false,
      levelFIsMemPop:false
    })
  },

  // 关闭二等奖优惠券弹窗
  closelevelTIsMemPop(){
    this.setData({
      showPop:false,
      levelTIsMemPop:false
    })
  },


  onLoad() {
    // 尺寸比例
    this.setData({
      bili:my.getSystemInfoSync().windowWidth/720
    })
        // this.checkIsCanLottery()
        // this.myprize()
  },

  onShow(){
    this.getTaskList()
    this.getUserInfoc()
    this.deawList()

  },
  // 获取任务完成列表
  async getTaskList(){
    let res = await Mycloud('client',{},'taskList');
    console.log('任务完成情况',res)
    if(res.code==0){
      this.setData({
        lotteryCountTaskList:res.data
      },()=>{this.getData()})
    }
    // lotteryCountTaskList:""

  },


  // 关注店铺
  handleAttenShop(){
    this.queryattention()
    // my.alert({content:"关注店铺"});
  },


  // 从优惠券的入会
  getPrizeToAddMem(type){
    this.mytype = type
    // my.alert({content:"入会"});
     this.setData({
      expendT:true,
    })
  },
  async onCloseT(event) {
    this.setData({
      expendT:false,
    })
  },
    async onAuthSuccessT(res) {
    this.setData({
      expendT:false,
    })
    const options = {
          type:"joinMember",
        }
        Mycloud('client',options,'finishTask').then((res)=>{
            console.log(res)
          if(res.code==0){
            this.setData({
                 [`lotteryCountTaskList[1].isFinish`]:true,
              },()=>{
                 Mycloud('client',{},'sendBenefitIfIsMember').then((result)=>{
                    if(result.code==0){
                      // 发奖成功
                      if(this.mytype=="first"){
                        this.setData({
                          addMenGetFPrize: true,
                          levelFNoMemPop:false,
                          showPop:true
                        })
                      }else{
                          this.setData({
                            addMenGetTPrize: true,
                            levelTNoMemPop:false,
                            showPop:true
                          })
                      }
                    }else{
                       my.showToast({content:"网络错误，请刷新重试~"})
                    }
                 })
              })
          }else{
            my.showToast({content:"网络错误，请刷新重试~"})
          }
        });
  },
    async onAuthFailT(res) {
    this.setData({
      expendT:false,
    })
  },



  // 入会任务按钮中入会
  openMember(event){
    // my.alert({content:"入会"});
     this.setData({
      expend:true,
    })
  },
  async onClose(event) {
    this.setData({
      expend:false,
    })
  },
    async onAuthSuccess(res) {
    this.setData({
      expend:false,
    })
    const options = {
          type:"joinMember",
        }
        Mycloud('client',options,'finishTask').then((res)=>{
            console.log(res)
          if(res.code==0){
            this.setData({
              isFinshShopMen: true,
              [`lotteryCountTaskList[1].isFinish`]:true,
              showPop:true,
            })
            // 派发奖品
            Mycloud('client',{},'sendBenefitIfIsMember').then(res=>{
              console.log("任务列表完成入会后 有没派发的优惠券时补发")
            })
          }else{
            my.showToast({content:"网络错误，请刷新重试~"})
          }
        });
    // 这里调入会的接口   把入会接口写成函数 需要复用
  },
    async onAuthFail(res) {
    this.setData({
      expend:false,
    })
  },




  // 检查会员
  checkMen(){
    var memberPlugin = requirePlugin("cemMember");
    let _this = this

  if(!_this.data.lotteryCountTaskList[1].isFinish){
   memberPlugin.checkMember({
      //sellerId为可选参数，不填则为当前小程序Owner用户ID
      sellerId:2210308601889,
      success(v) {
        // my.showToast({content:JSON.stringify(v)})
        if(v.data.isMember=="true" || v.data.isMember==true){
          // my.showToast({content:'检测已经是会员'+JSON.stringify(v.data.isMember)})
          // 这里已经是会员了  调用小程序接口  用小程序接口返回的结果做按钮切换
          const options = {
            type:"joinMember"
          }
          Mycloud('client',options,'finishTask').then((res)=>{
            console.log('',res)
            if(res.code==0){
              // my.alert({content:Object.prototype.toString.call(res.code) })
              _this.setData({
                isFinshShopMen: true,
                 [`lotteryCountTaskList[1].isFinish`]:true,
                showPop:true
              })
                          // 派发奖品
            Mycloud('client',{},'sendBenefitIfIsMember').then(res=>{
              console.log("任务列表完成入会后 有没派发的优惠券时补发")
            })
            }else{
              my.showToast({content:"网络错误，请刷新重试~"})
            }
          });
          // my.showToast({content:"以前入过会了，调接口吧"})
        }else{

          _this.openMember()
          // my.showToast({content:JSON.stringify(v.data.isMember)})
        } 
      },
      fail(v) {
          // my.showToast({content:JSON.stringify(v)})
        // my.alert({
        //   title: "会员检查失败",
        //   content: JSON.stringify(v),
        // })          
      }      
    });
    }



 
  },

  // 关闭入会成功弹窗
  closeIsFinshShopMen(){
    this.setData({
      isFinshShopMen:false,
      showPop:false
    })
  },

  // 观看直播
  handleDirect(){
    plugin.triggerTask(this.data.taskData)
    .then(res => {
      console.log('res',res)
    }).catch(err => {
      console.log('err', err)
    })
    // my.alert({content:"观看直播"});
  },

  // 口味与文案
  handleTaste(){
    my.navigateTo({ url: `../../pages/game/game` })
    // my.alert({content:"口味与文案"});
  },

  // Diy
  handleDiy(){
    // 跳转之前先判断是否有完成了第一个游戏
    if(this.data.lotteryCountTaskList[3].isFinish){
      my.navigateTo({ url: `../../pages/uploadImg/uploadImg` })
      // 跳转
    }else{
      this.setData({
        noFinshPickTaskPop:true,
        showPop:true
      })
    }
        // my.navigateTo({ url: `../../pages/game2/game2` })
    // my.alert({content:"DIY"});
  },

  closenoFinshPickTaskPop(){
    this.setData({
        noFinshPickTaskPop:false,
        showPop:false
    })
  },

  // 签到
  // handleSign(){
  //   my.alert({content:"签到"});
  // },


  // 分享
  handleShare(){
    this.share()
    // my.alert({content:"分享"});
  },

  // 投票
  handleVote(){
      my.navigateTo({ url: `../../pages/vote/vote` })
    // my.alert({content:"投票"});
  },


   // 官方api查询是否已经关注店铺
  async queryattention() {
    my.tb.checkShopFavoredStatus({
      id: 2210308601889,
      success: (res) => {
        console.log('查询是否已关注' + JSON.stringify(res))
        if (res.isFavor) {
          // 已经关注
          let options = {
            type:"follow",
          }
          Mycloud('client',options,'finishTask').then((res)=>{
            if(res.code==0){
              this.setData({
                isFinshShopAtten: true,
                 [`lotteryCountTaskList[0].isFinish`]:true,
                showPop:true
              })
            }else{
              my.showToast({content:"网络错误，请刷新重试~"})
            }
          });
        }else{
          // 未关注  运行关注
          my.tb.favorShop({
            id: 2210308601889,
            success: (res) => {
              console.log("点击关注店铺返回" + res)
             let options = {
            type:"follow",
          }
            Mycloud('client',options,'finishTask').then((res)=>{
            if(res.code==0){
              this.setData({
                isFinshShopAtten: true,
                [`lotteryCountTaskList[0].isFinish`]:true,
                showPop:true
              })
            }else{
              //    this.setData({
              //   isFinshShopAtten: false
              // })
              my.showToast({content:"网络错误，请刷新重试~"})
            }
          });


            },
            fail: (e) => {
              // my.showToast({content:"网络错误，请刷新重试~"})
            }
          })
        }
      }
    })
  },


  // 关闭关注完成弹窗
  closeIsFinshShopAtten(){
    this.setData({
      showPop:false,
      isFinshShopAtten:false
    })
  },

  

  // 跳转到店铺首页
  handleToShop(){
      my.call('navigateToOutside',{ url:"https://shop396424265.m.taobao.com" })
  },


    // 分享按钮
  async share() {
    // await this.getUserInfoc()
    let _this = this
  await Mycloud('client', {}, 'createShareLog').then((res)=>{
         if(res.code==0){
            _this.setData({
                shareLogId:res.data.shareLogId
            })
          if(!_this.data.lotteryCountTaskList[3].isFinish && !_this.data.lotteryCountTaskList[4].isFinish){
              //  啥都没完成
              _this.setData({
                imageUrl:"https://img.alicdn.com/imgextra/i4/4161056916/O1CN01kgMGGw20xZrXwDBfI_!!4161056916.png"
              })
            }else if(_this.data.lotteryCountTaskList[3].isFinish && !_this.data.lotteryCountTaskList[3].isFinish){
              // 完成文案  没完成上传图片
                  _this.setData({
                    imageUrl:userInfoList.combinationImg
                  })
            }else{
              // 全部完成
              Mycloud('client', {}, 'getMyWork').then((result)=>{
                if(result.code==0){
                  console.log("作品信息",result)
                  _this.setData({
                    imageUrl:result.data.url
                  })
                }
              })
            }
        }
        my.showSharePanel();
  })
  console.log(_this.data.imageUrl,_this.data.shareLogId)

  },



  // 分享  这里的文案及链接要替换
  async onShareAppMessage() {
    // 这里文案及图片链接要做判断，先查询用户已经进行到哪一步了

        return {
          title: '',
          desc: '真果粒二楼',
           path: `pages/index/index?shareLogId=${this.data.shareLogId}`,
          // url: `https://m.duanqu.com?_ariver_appid=3000000029098501&nbsv=0.0.12&nbsource=debug&nbsn=TRIAL&_mp_code=tb&pages%2findex%2findex%3fnickname%3d${encodeURI(this.data.userInfoList.nick_name)}`,
          // url: `https://m.duanqu.com?_ariver_appid=3000000029098501&query=nickname%3D${encodeURI(this.data.userInfoList.nick_name)}`,
          // url: `https://m.duanqu.com?_ariver_appid=3000000027055991&nbsv=0.0.45&nbsource=debug&nbsn=TRIAL&_mp_code=tb&query=nickname%3D${encodeURI(this.data.userInfo.nick_name)}`,
          // imageUrl: 'https://img.alicdn.com/imgextra/i3/4161056916/O1CN01IxNoHn20xZqqqnPbe_!!4161056916.jpg'
          imageUrl:this.data.imageUrl
        };
     
    
  },

  // 任务插件
  async getData() {
    let _this = this
    plugin.getTaskList()
    .then(res => {
      let taskData = res || []
      console.log('success', taskData)
      _this.setData({
        taskData:taskData[0]
      },()=>{
        if(_this.data.taskData.complete && !_this.data.lotteryCountTaskList[2].isFinish){
          // 今日还没完成过
        let options = {
            type:"watchVideo",
          }
          Mycloud('client',options,'finishTask').then((res)=>{
            if(res.code==0){
              _this.setData({
                isFinshwatchVideo: true,
                 [`lotteryCountTaskList[2].isFinish`]:true,
                showPop:true
              },()=>{
                _this.getTaskList()
              })
            }else{
              my.showToast({content:"网络错误，请刷新重试~"})
            }
          });
        }
      })

    }).catch(err => {
      console.log('err', err)
    })
  },


  // 关闭完成直播任务弹窗
  closeIsFinshwatchVideo(){
    this.setData({
      showPop:false,
      isFinshwatchVideo:false
    })
  }


});
